package MVC.Models;

import MVC.Model;
import Resources.Enums.Cor;
import com.sun.istack.internal.NotNull;
import com.sun.istack.internal.Nullable;

public class Jogador extends Model {

    /* Attributos */

    private Integer id;
    private String nome;
    private Cor cor;

    private Boolean daVez;
    private Boolean vencedor;
    private Boolean posicionou;

    public Jogador(String nome) {
        this.nome = nome;
        parar();
    }

    public String toString() {
        return nome;
    }

    public boolean equals(Jogador jogador) {
        return id.equals(jogador.getId());
    }

    /* Métodos */
    public void jogar() {
        daVez = true;
    }

    public void passar() {
        posicionou = false;
        daVez = false;
    }

    public void vencer() {
        posicionou = false;
        daVez = false;
        vencedor = true;
    }

    public void perder() {
        posicionou = false;
        daVez = false;
        vencedor = false;
    }

    public void parar() {
        id = null;
        cor = null;
        posicionou = false;
        daVez = false;
        vencedor = false;
    }

    /* Getters e Setters */

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Cor getCor() {
        return cor;
    }

    public void setCor(Cor cor) {
        this.cor = cor;
    }

    public Boolean getDaVez() {
        return daVez;
    }

    public void setDaVez(Boolean daVez) {
        this.daVez = daVez;
    }

    public Boolean getVencedor() {
        return vencedor;
    }

    public void setVencedor(Boolean vencedor) {
        this.vencedor = vencedor;
    }

    public Boolean getPosicionou() {
        return posicionou;
    }

    public void setPosicionou(Boolean posicionou) {
        this.posicionou = posicionou;
    }
}
